package com.wangxinenpu.springbootdemo.dataobject.vo.task;

import lombok.Data;

import java.util.Date;
import java.util.Map;

@Data
public class TaskVO {
    /** DB id of the task. */
    private String Id;

    /**
     * Name or title of the task.
     */
    private String Name;

    /**
     * Free text description of the task.
     */
    private  String Description;

    /**
     * Indication of how important/urgent this task is
     */
    private int Priority;

    /**
     * The {@link User.Id userId} of the person that is responsible for this task.
     */
    private String Owner;

    /**
     * The {@link User.Id userId} of the person to which this task is delegated.
     */
    private String Assignee;

    /**
     * Reference to the process instance or null if it is not related to a process instance.
     */
    private String ProcessInstanceId;

    /**
     * Reference to the path of execution or null if it is not related to a process instance.
     */
    private String ExecutionId;

    /**
     * Reference to the process definition or null if it is not related to a process.
     */
    private String ProcessDefinitionId;

    /** The date/time when this task was created */
    private Date CreateTime;

    /**
     * The id of the activity in the process defining this task or null if this is not related to a process
     */
    private String TaskDefinitionKey;

    /**
     * Due date of the task.
     */
    private Date DueDate;

    /**
     * The category of the task. This is an optional field and allows to 'tag' tasks as belonging to a certain category.
     */
    private String Category;

    /**
     * The parent task for which this task is a subtask
     */
    private String ParentTaskId;

    /**
     * The tenant identifier of this task
     */
    private String TenantId;

    /**
     * The form key for the user task
     */
    private  String FormKey;

    /**
     * Returns the local task variables if requested in the task query
     */
    private Map<String, Object> TaskLocalVariables;

    /**
     * Returns the process variables if requested in the task query
     */
    private Map<String, Object> ProcessVariables;

    /**
     * The claim time of this task
     */
    private Date ClaimTime;
    
    
}
